package webdriver.elements;

import org.openqa.selenium.By;

/**
 * Class, Describing element button
 */
public class Button extends BaseElement {

    /**
     *
     * @param locator
     * @param name
     */
    public Button(final By locator, final String name) {
        super(locator, name);
    }

    /**
     * getElementType
     * @return loc.button
     */
	protected String getElementType() {
        return getLoc("loc.button");
    }

	/**
	 * isEnabled
	 * @return isEnabled
	 */
    public boolean isEnabled(){
    	return this.getElement().isEnabled();
    }

    /**
     * Дефолтный конструктор
     * @param locator locator
     */
	public Button(By locator) {
		super(locator);
	}

	/**
	 * Конструктор с подстановкой в locatorTemplate значений idName и text
	 * @param locatorTemplate шаблон локатора
	 * @param idName название атрибута id
	 * @param text значение текста элемента
	 * @param elementName название элемента
	 */
	public Button(String locatorTemplate,  String idName, String text, String elementName){
		super(By.xpath(String.format(locatorTemplate, idName, text)), elementName);
	}

	/**
	 * Конструктор с подстановкой в xpathLocatorTemplate значения locatorValue
	 * @param xpathLocatorTemplate шаблон локатора
	 * @param locatorValue значение
	 * @param nameOf название элемента
	 */
	public Button(String xpathLocatorTemplate, String locatorValue, String nameOf){
		super(xpathLocatorTemplate, locatorValue, nameOf);
	}
}
